home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / SOUND / TTALK112.ARJ / TTALK.DOC < prev    next >
Text File  |  1992-05-18  |  72KB  |  1,411 lines

  1.        TINYTALK PERSONAL: THE POWERFUL AND AFFORDABLE SCREEN READER
  2.                                 USER GUIDE
  3.  
  4.                               OMS Development
  5.                             1921 Highland Ave.
  6.                             Wilmette, IL  60091
  7.                                (708)251-5787
  8.  
  9.                           TABLE OF CONTENTS
  10.  
  11. SECTION 1: INTRODUCTION
  12. SECTION 2: LEGAL STUFF
  13. SECTION 3: WHY TINYTALK?
  14. SECTION 4: OVERVIEW OF TINYTALK'S FACILITIES
  15. SECTION 5A: SUPPORTED HARDWARE
  16. SECTION 5B: INSTALLING TINYTALK
  17. SECTION 5C: RUNNING TINYTALK
  18. SECTION 6: HOT KEYS
  19. SECTION 7: CURSOR TRACKING
  20. SECTION 8: FORM FILLING
  21. SECTION 9: AUTOMATIC POP-UP WINDOW READING
  22. SECTION 10: DEFINED WINDOWS
  23. SECTION 11: REVIEW/CONTROL MODE
  24. SECTION 11A: NAVIGATION
  25. SECTION 11B: SYNTHESIZER CONTROL COMMANDS
  26. SECTION 11C: TINYTALK SETTING COMMANDS
  27. SECTION 11D: WINDOW SETTING COMMANDS
  28. SECTION 11E: REMAPPING HOTKEYS
  29. SECTION 11F: LABELLING KEYS
  30. SECTION 11G: CONFIGURATION SETTING
  31. SECTION 11H: MISCELLANEOUS COMMANDS
  32. SECTION 11I: A WINDOW AND CONFIGURATION EXAMPLE
  33. SECTION 12: SAVING AND LOADING CONFIGURATION LIBRARIES
  34. SECTION 13: KNOWN BUGS AND LIMITATIONS
  35. SECTION 14: CONTACT INFORMATION
  36. SECTION 15: ABOUT OMS DEVELOPMENT
  37.  
  38.                        SECTION 1: INTRODUCTION
  39.  
  40. Tinytalk Personal is a powerful and affordable speech access program 
  41. for IBM-compatible computers.  It was designed with three goals in 
  42. mind: to provide an entry-level screen reader that doesn't cost an arm 
  43. and a leg, to make modern application programs speak more or less 
  44. automatically and to use as little memory as possible (it currently 
  45. takes up only 24K).
  46.  
  47. Tinytalk Personal isn't intended to be all things to all people; 
  48. rather it tries to provide the minimum set of options needed to run 
  49. modern software.  We are currently developing Tinytalk Professional, a 
  50. set of "add-ins" for Tinytalk Personal that will provide advanced 
  51. features like user-defined pronunciation dictionaries, "auto-pilot" 
  52. text reading and a compiler for making configuration files from text 
  53. descriptions.
  54.  
  55.                         SECTION 2: LEGAL STUFF
  56.  
  57. Tinytalk Personal, its support programs and this document are 
  58. copyright 1990-1992 by OMS Development/Eric Bohlman.  All rights 
  59. reserved.
  60.  
  61. Tinytalk Personal is distributed as shareware, which means that you 
  62. can obtain it and try it out free of charge.  If you decide to make it 
  63. your primary speech package, you are required to pay for it.  Since 
  64. shareware distribution eliminates many of the traditional costs 
  65. involved in marketing software (especially costs incurred by 
  66. distributors of adaptive software), paying for it shouldn't be a big 
  67. strain on anybody; we can offer Tinytalk Personal for $75, which is 
  68. much lower than most speech packages.
  69.  
  70. You may distribute the UNREGISTERED version of Tinytalk Personal to 
  71. others (including posting it on computer bulletin boards) as long as 
  72. you include the ENTIRE, UNMODIFIED set of files listed in the 
  73. accompanying READ.ME file.  You may not charge anybody more than the 
  74. cost of disk media and mailing.  You may transfer the REGISTERED 
  75. version of Tinytalk Personal to another party only if you do not 
  76. retain any copies for yourself.
  77.  
  78. Product names used in this document are trademarks of their respective 
  79. manufacturers.  No endorsements or affiliations of any sort are 
  80. implied.
  81.  
  82.                        SECTION 3: WHY TINYTALK?
  83.  
  84. Modern application software doesn't treat the screen like a scroll of 
  85. paper with new text coming in at the bottom; it considers it a "page" 
  86. made up of sections called "windows."  An application program can do 
  87. several things with a window.  It can display status information that 
  88. seldom changes.  It can "pop up" a menu when you hit a key.  It can 
  89. show a "lightbar menu" that lets you select an option by moving a 
  90. highlighted video bar over a list of choices.  It can display 
  91. scrolling text in the window while keeping the rest of the screen 
  92. "locked in place."  These actions are often controlled by using the 
  93. cursor keys.
  94.  
  95. Most programs write characters directly to the screen instead of using 
  96. the rather slow and inflexible routines built into DOS.  This means 
  97. that a speech program can't just speak line-at-a-time DOS output; it 
  98. has to analyze the screen and read the changes in a way that makes 
  99. sense to the user.  Tinytalk does this by providing a comprehensive 
  100. set of window-handling and cursor-tracking facilities.
  101.  
  102.              SECTION 4: OVERVIEW OF TINYTALK'S FACILITIES
  103.  
  104. IMMEDIATE OUTPUT
  105.  
  106. All screen output sent through DOS or BIOS routines will be spoken as 
  107. it occurs.  You can turn this off completely, or you can set portions 
  108. of the screen to be silent.
  109.  
  110. JUNK SUPPRESSION
  111.  
  112. If an application displays a long line of punctuation characters, 
  113. Tinytalk will read only the first two if the rest are identical.
  114.  
  115. KEYBOARD ECHO
  116.  
  117. You can have your keystrokes spoken as words, as letters or not at all.
  118.  
  119. CURSOR TRACKING
  120.  
  121. When you move the cursor in a program, you can hear the text that it's 
  122. moving over.  You will hear characters that you delete with either the 
  123. backspace or delete keys.  You can specify how much text you want to 
  124. hear.
  125.  
  126. FORM FILLING
  127.  
  128. When you're using a "fill-in-the-form" data entry screen, you can hear 
  129. each field prompt as you move to it, even when there are several 
  130. fields on the same line.
  131.  
  132. AUTOMATIC WINDOW READING
  133.  
  134. You can have windowed areas of the screen spoken automatically when 
  135. they change.
  136.  
  137. COLUMN HEADER READING
  138.  
  139. Tinytalk can automatically read column headings or titles as you move 
  140. around a spreadsheet or database browse screen.
  141.  
  142. REMAPPABLE HOT KEYS
  143.  
  144. You can review important parts of the screen from within an 
  145. application without going into review mode.  You can pick what 
  146. keystrokes you want to use as hot keys.
  147.  
  148. REVIEW AND CONTROL MODE
  149.  
  150. Tinytalk has a comprehensive screen review mode for moving around the 
  151. screen without disturbing an application program.  In this mode, you 
  152. can also set synthesizer parameters like pitch and speed and set 
  153. various options for Tinytalk itself.
  154.  
  155. SHIFT ALERT
  156.  
  157. Tinytalk will buzz at you if you accidentally type in reversed case 
  158. (holding down the shift key and typing a letter while caps lock is on).
  159.  
  160. MARGIN BELL
  161.  
  162. Tinytalk can ring a bell when you enter text past a right margin you 
  163. select.
  164.  
  165. PROTECTED ATTRIBUTE ANNOUNCEMENT
  166.  
  167. You can tell Tinytalk to click the speaker whenever the cursor passes 
  168. over a video attribute that you select.
  169.  
  170. USER-DEFINED PUNCTUATION
  171.  
  172. You can tell Tinytalk what punctuation characters to read.  You can 
  173. have different punctuation groups for reading versus typing.
  174.  
  175. AUTOMATIC CLEARING
  176.  
  177. Tinytalk will automatically clear any unfinished speech when you move 
  178. the cursor or when a window gets read.  You can choose whether or not 
  179. keyboard echo clears speech.
  180.  
  181. MIXED-TEXT READING
  182.  
  183. Tinytalk will spell out any word that doesn't contain a vowel, or that 
  184. includes digits as well as letters (such as ham calls).  If your 
  185. synthesizer supports number processing, Tinytalk can use it when 
  186. saying "words" that contain only digits.
  187.  
  188. KEY LABELLING
  189.  
  190. You can tell Tinytalk to say a word or phrase of your choice whenever 
  191. you hit a certain key.  You can have separate groups of key labels for 
  192. each application program you use.
  193.  
  194. MULTIPLE CONFIGURATIONS WITH AUTOMATIC LOADING
  195.  
  196. Tinytalk can store up to 30 configurations (window definitions, mode 
  197. settings and the like).  You can switch between configurations with a 
  198. few keystrokes, or you can have Tinytalk automatically switch you to 
  199. the correct configuration when you run a program.  You can have 
  200. separate configurations for individual screens within a program, and 
  201. Tinytalk can automatically switch between them based on the presence 
  202. of identifying text on the screen.
  203.  
  204.                    SECTION 5A:  SUPPORTED HARDWARE
  205.  
  206. See the accompanying READ.ME file for a list of synthesizers supported.
  207.  
  208. TTSONIX.EXE will work with any synthesizer that uses Sonix and TTS.  
  209. TTSOUND.EXE will also work with any synthesizer that uses Porttalk.  
  210. TTLAPTLK.EXE will also work with any synthesizer based on the RC 
  211. Systems 8600 or 8601 OEM speech boards.
  212.  
  213.                    SECTION 5B: INSTALLING TINYTALK
  214.  
  215. You'll need to copy at least two files from the Tinytalk distribution disks 
  216. or archive to the disk (hard or floppy) you're going to run Tinytalk from.  
  217. You'll always want to copy TTCONF.EXE (the configuration load/save/view 
  218. utility).  You'll also need to copy the appropriate main program file for 
  219. your synthesizer.  Tinytalk has a separate program file for each 
  220. synthesizer rather than a single file for all synthesizers.  This reduces 
  221. the amount of memory required, since you aren't carrying around support 
  222. code for synthesizers that you aren't using. The accompanying READ.ME file 
  223. has a list of the program files for the supported synthesizers.  Pick the 
  224. right one and copy it to the appropriate directory.  You should name it as 
  225. TTALK.EXE so that the TTCONF utility can find it.  You'll probably also 
  226. want to copy this manual.
  227.  
  228. If you are a registered user of Tinytalk, there will be one or two more 
  229. files you'll want to copy.  UPDATE.EXE is a program that transfers your 
  230. registration to new copies of the Tinytalk program files.  If you obtain an 
  231. unregistered copy of a newer version, UPDATE will turn it into a registered 
  232. copy (we trust you not to abuse this privilege; registered copies of 
  233. Tinytalk are for your own use only).  If you had a registered copy of 
  234. Tinytalk before version 1.10, you will also be getting CVTCONF.EXE which 
  235. will take your old configuration files (see below) and convert them to the 
  236. new format used in versions 1.10 and above.
  237.  
  238. If you received Tinytalk on a 3.5" disks, or if you obtained it by 
  239. downloading from a bulletin board, all the program files will be directly 
  240. available.  If you received Tinytalk on a 5.25" disk, most of the files 
  241. will be stored in a special archive file (otherwise they wouldn't all fit 
  242. on one disk).  We've provided a special program called TTCOPY.BAT which 
  243. will let you extract files from this archive (for the technically-minded, 
  244. it invokes LHA, a freely-distributable archiving program developed by 
  245. Haruyasu Yoshizaki).
  246.  
  247. EXAMPLE: Let's assume you want to install Tinytalk for a Doubletalk 
  248. synthesizer.  You've got the distribution files on a floppy in drive A and 
  249. you want to put them into a hard-disk directory called C:\TINYTALK.  From 
  250. the DOS prompt, issue the following commands:
  251.  
  252. MD TINYTALK
  253. CD TINYTALK
  254. A:
  255. COPY TTCONF.EXE C:
  256. COPY TTDOUBLE.EXE C:
  257. C:
  258. REN TTDOUBLE.EXE TTALK.EXE
  259. (if you were installing from a 5.25" disk, you'd use TTCOPY in place of 
  260. COPY)
  261.  
  262.                      SECTION 5C: RUNNING TINYTALK
  263.  
  264. Before running Tinytalk, make sure your synthesizer is properly connected 
  265. and that you've loaded any driver programs that your synthesizer needs to 
  266. run (unless you are using the SoundBlaster; see below).  If you have an 
  267. external synthesizer hooked up to a serial port, set it for 9600 baud.  You 
  268. can use either CTS/RTS or XON/XOFF handshaking; Tinytalk will automatically 
  269. adjust.
  270.  
  271. To bring up Tinytalk, type TTALK optionally followed by a space and a 
  272. port number: C1 or C2 for serial ports COM1 and COM2, or L1, L2 or L3 
  273. for parallel ports LPT1, LPT2 or LPT3.  You can specify C3 or C4 for 
  274. COM3 or COM4 if you're using a synthesizer with a software driver that 
  275. emulates ports (such as the Soundingboard).  Tinytalk doesn't currently 
  276. support physical serial ports on COM3 or COM4.  For example, if you had a 
  277. synthesizer hooked up to serial port 1, you would type TTALK C1.  If you 
  278. leave out the port specification, Tinytalk will configure itself for 
  279. default output (COM2 for all synthesizers except the Accent and internal 
  280. Echo, where the default is LPT3, and the Doubletalk, Sonix, SoundBlaster 
  281. and Speech Thing which have their own special ports.  You will have to 
  282. explicitly specify a serial port if you are using the Accent SA).  You'll 
  283. probably want to put the TTALK command in your AUTOEXEC.BAT file.
  284.  
  285. If you are using the SoundBlaster, DO NOT load SBTALKER before running 
  286. Tinytalk.  Tinytalk will load SBTALKER.EXE and BLASTER.DRV itself; these 
  287. two files must be located in the current directory.
  288.  
  289. If you are using the Speech Thing, you must load SPEECHV3.  The Version 4 
  290. driver is not currently compatible with Tinytalk.  You do NOT need to 
  291. install STDRIVER.SYS (it won't do any harm, but Tinytalk doesn't need it).
  292.  
  293. If you haven't changed the default configuration for Tinytalk, you 
  294. will come up in immediate output and words-mode keyboard echo.  Cursor 
  295. tracking will read single characters when you move the cursor 
  296. horizontally and whole lines when you move it vertically.  All 
  297. punctuation will be spoken.
  298.  
  299. If you're running an unregistered copy, Tinytalk will wait 25 seconds 
  300. while the "nag message" is being spoken.
  301.  
  302. If you have a 386 or 486 machine, you can load Tinytalk into high 
  303. memory using LOADHI if you're using QEMM or LOADHIGH if you're using 
  304. MS-DOS 5.0.  We haven't had a chance to try it out with 386-to-the- 
  305. Max, but it will probably work as well.
  306.  
  307.                          SECTION 6: HOT KEYS
  308.  
  309. Hot keys are keystrokes that tell Tinytalk to do something when you're 
  310. not in review mode.  The key combinations have been chosen to be ones 
  311. that application programs are unlikely to use.  If you want to change 
  312. them, you can use the "hotkey remapping" feature (see Section 11E).  
  313. If an application program needs to use one of these keystrokes, you 
  314. can tell Tinytalk to pass it through to the program.
  315.  
  316. QUICK FLUSH
  317.  
  318. Pressing the Alt key will stop whatever is being spoken and flush the 
  319. synthesizer's speech buffer.
  320.  
  321. TIMED SHUTUP
  322.  
  323. Pressing Alt-slash will shut off all speech until either you press a 
  324. key or five seconds (this time can be changed) go by with no attempted 
  325. output.  In the latter case, Tinytalk will beep to get your attention 
  326. (you use this to silence Tinytalk when capturing text in a terminal 
  327. program or running a program that gives lots of uninformative output).
  328.  
  329. READ CURRENT LINE
  330.  
  331. Pressing Alt-space will read the line under the cursor.
  332.  
  333. READ CURRENT WORD
  334.  
  335. Pressing Alt-comma will read the word under the cursor.  If you press 
  336. it a second time without moving the cursor, the word will be spelled 
  337. out.  If you press it a third time, the word will be spelled out 
  338. phonetically ("alpha," "bravo" etc.).
  339.  
  340. READ PREVIOUS TWO LINES
  341.  
  342. Pressing Alt-period will read the two lines above the current one.
  343.  
  344. READ ENTIRE SCREEN
  345.  
  346. Pressing Alt-left bracket will read the entire screen
  347.  
  348. ANNOUNCE CURSOR POSITION
  349.  
  350. Pressing Alt-minus will announce the row and column where the cursor 
  351. is.
  352.  
  353. RE-READ AUTOMATIC POP-UP WINDOW
  354.  
  355. Pressing Alt-semicolon will re-read the most recently read pop-up 
  356. window if you have automatic popup detection turned on.
  357.  
  358. READ A DEFINED WINDOW
  359.  
  360. There are two ways to do this.  By default, pressing Alt-0 through Alt- 
  361. 9 will read the corresponding window.  You can also press Alt- 
  362. apostrophe and then press a digit (0 through 9).  The computer doesn't 
  363. "freeze" while waiting for the digit.  See Section 10 for more 
  364. information about defined windows.
  365.  
  366. SELECT A NEW CONFIGURATION
  367.  
  368. Your synthesizer settings, Tinytalk mode settings, window definitions and 
  369. the like are called a configuration.  Since different programs (or 
  370. different parts of a program) may require different settings, Tinytalk lets 
  371. you keep 30 different configurations in memory at one time.  To switch to a 
  372. new configuration, press Alt-right bracket.  Tinytalk will say "load 
  373. config" and say the name or number of the first configuration (0).  At this 
  374. point you have three options: you can enter a number and press ENTER, you 
  375. can type in the name of the configuration and press ENTER, or you can step 
  376. through the list by hitting the space bar until you hear the name or number 
  377. of the configuration you want.  Pressing ENTER picks the configuration.  If 
  378. you choose to type in the configuration name, you don't have to type in all 
  379. the characters, just enough to let Tinytalk find it.  For example, if you 
  380. had a configuration called "DBASE" you could just type in "DB" (assuming 
  381. you don't have any other configurations that begin with "DB").
  382.  
  383. See Section 11G for more information about configurations.
  384.  
  385. GO INTO REVIEW MODE
  386.  
  387. Pressing Alt-enter will put Tinytalk into review/control mode.
  388.  
  389. PASS A KEYSTROKE THROUGH
  390.  
  391. Pressing Alt-escape will make Tinytalk ignore the next keystroke.  Use 
  392. this if your application program needs one of the above keystrokes.
  393.  
  394.                       SECTION 7: CURSOR TRACKING
  395.  
  396. In many cases cursor tracking will avoid the need go into review mode 
  397. to find your context in a word processor or database program.  
  398. Tinytalk allows you to specify what should be read when you move the 
  399. cursor horizontally and what should be read when you move it 
  400. vertically (see Section 11C for the various possibilities).
  401.  
  402. HORIZONTAL MOVES
  403.  
  404. If you use the left or right arrow keys (or the Wordstar equivalents 
  405. control-s or control-d) or the home or end keys, Tinytalk will assume 
  406. you're moving horizontally.  The default action is to speak the 
  407. character that you move to.
  408.  
  409. VERTICAL MOVES
  410.  
  411. If you use the up or down arrow keys (or control-e or control-x), 
  412. Tinytalk will assume you're moving vertically.  The default action is 
  413. to speak the entire line that you move to.  Control-Y, which is the 
  414. Wordstar command for deleting a line, will speak the next line.
  415.  
  416. In some applications, the tab and enter keys act as cursor movement 
  417. keys (moving between fields in a database record, for example).  You 
  418. can tell Tinytalk to perform the vertical movement action when you 
  419. press these keys.
  420.  
  421. WORD MOVES
  422.  
  423. If you use control-leftarrow or control-rightarrow (or the Wordstar 
  424. equivalents control-a or control-f), Tinytalk will read the entire 
  425. word you move onto.  If you use backspace or delete, Tinytalk will 
  426. speak the deleted character
  427.  
  428. PAUSES
  429.  
  430. Tinytalk will sometimes pause slightly before speaking when you move 
  431. the cursor. It has to do this because some applications move the 
  432. cursor to an intermediate location before putting it in its final 
  433. position.  For example, some editors will briefly move the cursor to a 
  434. status line.  The pause ensures that the right text will be read.
  435.  
  436.                        SECTION 8: FORM FILLING
  437.  
  438. Database programs and other "fill in the forms" applications treat the 
  439. screen as a form to be filled out, with text prompts followed by 
  440. highlighted entry fields.  The cursor, tab and enter keys move the 
  441. cursor between these fields.  There are often several fields on the 
  442. same line. 
  443.  
  444. If you turn forms mode on, Tinytalk will monitor cursor movements to 
  445. see if the cursor moves into a highlighted field.  If so, it will read 
  446. any non-highlighted text before the field and then read the field 
  447. itself.  This lets you hear each field prompt (as well as any default 
  448. value in the field) in the right order.  If there are multiple fields 
  449. on the line, you will hear only the one you're working on.
  450.  
  451.               SECTION 9: AUTOMATIC POP-UP WINDOW READING
  452.  
  453. Tinytalk can automatically detect most pop-up windows and read them 
  454. without you having to tell it anything.  If you have automatic pop-up 
  455. detection turned on and an application program draws a box around an 
  456. area of the screen, Tinytalk will automatically read the text within 
  457. the box and try to guess whether the box contains a light-bar menu.  
  458. If it does, moving the cursor will read off the choices.  You can re- 
  459. read an automatic pop-up window with a single keystroke.
  460.  
  461. If more than one pop-up window is active,  Tinytalk will read only the 
  462. last one to pop up.  When a window vanishes, Tinytalk will re-read the 
  463. next most recently popped-up window if there is one.
  464.  
  465.                      SECTION 10: DEFINED WINDOWS
  466.  
  467. You can tell Tinytalk about sections of the screen that mean special 
  468. things to your application by defining up to ten windows and telling 
  469. it what kind of display to expect in them.  Tinytalk will then speak 
  470. them in a natural way.
  471.  
  472. A window is a rectangular section of the screen that an application 
  473. uses for some specific purpose.  A window is always designated by two 
  474. pairs of coordinates: its top left corner and its bottom right corner.  
  475. At any one time, Tinytalk can work with up to 10 defined windows, 
  476. numbered 0 through 9.  Each configuration has its own bank of 10 
  477. windows.
  478.  
  479. Defined windows can be used for four different purposes: manual 
  480. reading, silencing, automatic reading and automatic configuration 
  481. switching.  You can read any of the 10 windows by pressing one or two 
  482. keys in either application mode or review mode.  You can tell Tinytalk 
  483. to treat any of the windows as silent areas, which means that BIOS 
  484. output and cursor movements within the window will not be spoken.  
  485. This is useful for "shutting up" clock displays or status lines that 
  486. change every time you type a character.  Tinytalk can automatically 
  487. read a window to you when it changes, even if the change was caused by 
  488. a direct screen write.  Finally, Tinytalk can monitor the screen for 
  489. text that indicates that you've changed to a different sub-screen of 
  490. your application program and change configurations automatically (a 
  491. good example is the editing and spell-checking screens in WordPerfect).
  492.  
  493. AUTOMATIC WINDOW READING
  494.  
  495. When you tell Tinytalk to monitor a window and read if it changes, you 
  496. can specify two things: WHEN to read the window and WHAT to read in 
  497. the window.  Each of the 10 defined windows has two settings which are 
  498. called, naturally enough, the WHEN and WHAT settings.  In the 
  499. following discussion, we're also going to talk about a window being 
  500. "activated."  This means that Tinytalk has detected a change in the 
  501. window that agrees with that window's WHEN setting and that Tinytalk 
  502. is about to read the window.  Reading a window manually doesn't count 
  503. as activation.
  504.  
  505. WHEN SETTINGS
  506.  
  507. A window can have seven possible WHEN settings.  "Plain" means that 
  508. the window will not be monitored automatically; it will be read only 
  509. if you specifically ask to hear it.  "Silent" means that the window 
  510. specifies a silent area of the screen, as described above.  "Watch" 
  511. means that the window will be activated whenever its contents change.  
  512. "Popup" and "One-shot," are special types of watch windows.  "Popup" 
  513. means the window will not activate unless there's a box around it.  
  514. "One-shot" means the window will not activate unless it has a box, and 
  515. it will not re-activate if changes occur within the box (this is 
  516. needed if, for example, there's a clock being displayed in the box).  
  517. "Triggered" means that the window will activate whenever another 
  518. window that you specify activates.  This setting can be used when you 
  519. want to read part of the screen only when another part changes.  
  520. "Search" means the window will activate only when 1) it changes and 2) 
  521. a word or phrase you specify is present at the top left corner.
  522.  
  523. You won't need to use "popup" or "one-shot" very often because 
  524. automatic pop-up detection can handle most of those kinds of windows.  
  525. They're included in case you run into problems with non-standard 
  526. border characters or the like.
  527.  
  528. Tinytalk won't read a watch window if the only change was caused by 
  529. your typing text into it.
  530.  
  531. WHAT SETTINGS
  532.  
  533. These ten options that determine WHAT happens when a window activates.  
  534. "All" means that the entire window will be read.  "Lightbar" means 
  535. that only text with a certain video attribute will be read.  Video 
  536. attributes are properties like colors, reverse/normal video and 
  537. highlighting.  The most common use of this setting is to read lightbar 
  538. menus, but it can be used any time you want to read selectively by 
  539. attribute.  It's also the best way to read database browse screens and 
  540. spreadsheets, which usually use a highlight bar as a simulated cursor.
  541.  
  542. "Scroll" and "C-scroll" are for windows where lines of text scroll up 
  543. and down.  With either option, when text scrolls into the window 
  544. you'll hear only the new text, not the old text that's just shifted in 
  545. position.  Use "scroll" when you manually scroll text in a line at a 
  546. time by pressing keys (file readers and telecommunication program 
  547. dialing directories are typical examples); new text scrolling in will 
  548. interrupt previous speech.  Use "c-scroll" when text scrolls in 
  549. automatically; new text will not interrupt old text, and if the window 
  550. fills up Tinytalk will pause the application and read the window 
  551. before any text scrolls off.
  552.  
  553. "Floating" is for reading column titles on spreadsheets or database 
  554. browse screens.  You normally use it in a window that's triggered by a 
  555. lightbar window.  When a floating window gets triggered, Tinytalk 
  556. looks at the lightbar window that triggered it and reads the section 
  557. of the floating window that "floats" over the lightbar.  Floating 
  558. windows can also be used together with cursor movement.  If you have 
  559. one of your cursor movement options set to "window lines" or "columns" 
  560. and there's a floating window above where your cursor is, the window 
  561. will automatically trigger when you move the cursor.  The check 
  562. register in Quicken is an example of a place where this is useful.
  563.  
  564. "None" means that the window won't be read when it activates.  You use 
  565. this when you're using one window solely to trigger another one.  For 
  566. example, some text editors display prompts (which you want to hear) 
  567. and row/column indicators (which you usually don't want to hear) in 
  568. the same place but at different times.  Generally, at least part of 
  569. the line will change only when there's a prompt; you can define that 
  570. part as a watch window which triggers another window that reads the 
  571. whole line.  This gives you the effect of a window that you hear in 
  572. its entirety, but only when a key part of it changes.
  573.  
  574. "Spell all" and "Spell lightbar" work like "all" and "lightbar" except 
  575. that the contents of the window will be spelled out rather than spoken 
  576. as words.  "Switch" means that when the window is triggered, Tinytalk 
  577. will change to another configuration that you specify.  "Beep" means 
  578. that Tinytalk will beep when the window activates, but will not read 
  579. any text.  This is useful for monitoring the progress of file 
  580. transfers in a telecommunications program; you can get a beep each 
  581. time the program updates the block count.
  582.  
  583. MULTIPLE WINDOWS
  584.  
  585. If two or more automatically-read windows activate at the same time, 
  586. Tinytalk will read them in left-to-right, top-to-bottom order.
  587.  
  588. When one or more automatically read windows activate, Tinytalk 
  589. normally shuts up the synthesizer before reading the first one.  In 
  590. some cases, you may need to stop this from happening.  A good example 
  591. is the WordPerfect spell checking screen.  People often like to set up 
  592. two windows there: a watch window set to "spell lightbar" to read the 
  593. misspelled word and another watch window set to "all" to read the 
  594. suggested alternatives.  WordPerfect has a habit of pausing for a 
  595. second or so while it looks up alternative spellings, and the pause 
  596. can be long enough that Tinytalk decides that the windows have stopped 
  597. changing and starts to read them.  When the second window starts 
  598. changing again, Tinytalk shuts up and starts reading it, even though 
  599. you haven't heard all of the first window.  The discussion on window 
  600. commands in section 11D describes how to tell Tinytalk not to shut up 
  601. before reading a specified window.
  602.  
  603. It's worth mentioning at this point that Tinytalk has no way of 
  604. knowing when the synthesizer has finished speaking everything that was 
  605. sent to it.  Some synthesizers have a feature called "indexing" that 
  606. provides this information, but most of them don't and Tinytalk doesn't 
  607. presently support indexing.
  608.  
  609.                    SECTION 11: REVIEW/CONTROL MODE
  610.  
  611. You enter review mode by pressing Alt-enter.  In review mode, Tinytalk 
  612. freezes the application and takes over the keyboard and display.  When 
  613. you're in review mode, you can issue commands to do the following 
  614. things: "navigate" around the screen, change synthesizer settings, 
  615. change Tinytalk settings, set up windows, remap hotkeys, define key 
  616. labels, and set up configurations.
  617.  
  618.                        SECTION 11A: NAVIGATION
  619.  
  620. These commands let you move around and read parts of the screen.  When 
  621. you enter review mode, Tinytalk saves the video cursor's location.  
  622. Navigation commands will move the cursor (which helps if someone is 
  623. watching over your shoulder).  When you leave review mode, the cursor 
  624. goes back to its original position unless you tell Tinytalk to "route" 
  625. the cursor.
  626.  
  627. CURSOR MOVEMENT
  628.  
  629. You can move the cursor up,down,left, or right by using the arrow keys 
  630. or their Wordstar equivalents (control-e, control-x, control-s and 
  631. control-d).  As you move the cursor vertically, you'll hear the line 
  632. under the cursor; As you move horizontally, you'll hear the character 
  633. under the cursor.  You can move the cursor forward one word with 
  634. control-rightarrow or control-f and you can move it backward one word 
  635. with control-leftarrow or control-a.  You can go to the beginning of 
  636. the current line with the home key, and to the end of the current line 
  637. with the end key.  These two keys will read the character the cursor 
  638. lands on.
  639.  
  640. You can go to the top left corner of the screen (line 1, column 1) by 
  641. pressing the Page Up key, or to the bottom right corner (line 25, 
  642. column 80) with the Page Down key.  You can go directly to any line by 
  643. pressing L, typing the line number (1 through 25) and pressing ENTER.  
  644. This will move the cursor to column 1 of the appropriate line, and 
  645. read the line.  You can move the cursor to any column of the current 
  646. line by pressing H, typing the column number (1 through 80) and 
  647. pressing ENTER.  This will read the character in the column you 
  648. selected.
  649.  
  650. When using the L and H commands you can also specify relative cursor 
  651. movement by using a plus or minus sign before the line or column 
  652. number.  For example, L +5 ENTER would move you down five lines and H - 
  653. 10 ENTER would move you left 10 columns.
  654.  
  655. You can search the screen for box corner graphic symbols (useful when 
  656. setting up windows) by using the T and B commands.  Pressing T moves 
  657. the cursor to the next top-left-corner graphic symbol, and pressing B 
  658. moves the cursor to the next bottom-right-corner graphic symbol.  Note 
  659. that there may be more than one of each such symbol on the screen at 
  660. the same time.
  661.  
  662. You can search the screen for a word or phrase by pressing the forward 
  663. slash key, typing the word or phrase you want (each letter you type 
  664. will be echoed) and pressing ENTER.  Tinytalk will begin its search 
  665. with the character after the current one (this makes repeat searches 
  666. easier), move the cursor to the first character of the word or phrase, 
  667. and read the line it's on.  If the search is unsuccessful, the cursor 
  668. won't move.  Search phrases will not be matched across lines.  To 
  669. search for the next occurrence of the word or phrase, press the slash 
  670. key immediately followed by ENTER.
  671.  
  672. You can find out what line and column the cursor is on by pressing A.  
  673. You can tell Tinytalk to warn you when you're moving over characters 
  674. in a certain color by putting the cursor on such a character and 
  675. pressing X.  This is called "protected attribute alert" and is useful 
  676. when you're designing database screens or the like.  Each time you 
  677. move the cursor to a character with the protected attribute (whether 
  678. in review mode or in application cursor tracking) Tinytalk will give a 
  679. short buzz.  You can turn off protected attribute alert by pressing U.
  680.  
  681. READING PARTS OF THE SCREEN
  682.  
  683. You can re-read the current line by pressing the space bar.  You can 
  684. read from the cursor to the end of the current line by pressing E, or 
  685. from the start of the current line to the cursor by pressing S.  You 
  686. can read from the current line to the bottom of the screen by pressing 
  687. G, or read the entire screen by pressing Z.  You can read a defined 
  688. window by pressing the number key (0 through 9) for that window.
  689.  
  690. You can re-read the word the cursor is on by pressing the comma key.  
  691. Pressing it a second time will spell the word, and pressing it a third 
  692. time will phonetically spell it.  You can phonetically spell the 
  693. character the cursor is on by pressing the period key.
  694.  
  695. You can find out the exact ASCII value of the character under the 
  696. cursor, as well as its video attributes (colors and the like) by 
  697. pressing V.  The ASCII value will be read as a decimal number; the 
  698. attributes will be read as foreground color on background color.  
  699. (NOTE: many programs will still use the full set of color attributes 
  700. even if the system has a monochrome display.  Tinytalk deliberately 
  701. reads the color names in this case because while two combinations of 
  702. color attributes may look the same on a mono monitor, they are 
  703. distinct as far as functions that read lightbars and the like are 
  704. concerned.  To save memory, two "special case" colors are read a bit 
  705. funny: gray comes out as "light black" and yellow comes out as "light 
  706. brown."  Finally, background colors with the intensity bit set are 
  707. always announced as "blinking" even if you have an EGA or VGA display 
  708. that allows high-intensity background colors.  For example, if the 
  709. actual color were gray on yellow, it would be read as "light black on 
  710. blinking brown.")
  711.  
  712.               SECTION 11B: SYNTHESIZER CONTROL COMMANDS
  713.  
  714. Most of the synthesizer control commands use function keys F1 through 
  715. F4.  For settings like speed or pitch, there's a pair of keys: one to 
  716. raise the value and one to lower it.  Not all synthesizers support all 
  717. options; Tinytalk will say "not available" if you try to set an option 
  718. that you don't have.  Each command will read the current value of the 
  719. setting back to you; note that these are Tinytalk's own numbers for 
  720. the setting rather than the synthesizer's.
  721.  
  722. You can raise the value of the tone setting by pressing F1, and lower 
  723. it by pressing Shift-F1.  You can raise the volume with F2, and lower 
  724. it with Shift-F2.  You can raise the pitch with F3 and lower it with 
  725. Shift-F3.  You can increase the speed with F4, and decrease it with 
  726. Shift-F4.
  727.  
  728. Some synthesizers have options for how to pronounce numbers.  This is 
  729. called number processing mode.  If your synthesizer has such a mode, 
  730. Control-F1 increases the mode setting and Alt-F1 decreases it.  The 
  731. actual meaning of the mode setting depends on the synthesizer.
  732.  
  733. You can send a direct command to your synthesizer by pressing the 
  734. greater-than key, entering the command (including any control 
  735. characters needed) and pressing ENTER.  You can re-initialize the 
  736. synthesizer by pressing Alt-I.
  737.  
  738.                 SECTION 11C: TINYTALK SETTING COMMANDS
  739.  
  740. Most of Tinytalk's operating options are set up from a menu which you 
  741. can bring up by pressing M.  You'll hear the first option (in this 
  742. case, keyboard echo) and its value.  Each time you press the ENTER 
  743. key, you'll move to the next option until you reach the end of the 
  744. menu.  When you come to the option you want to change, you can press 
  745. the space bar to cycle the setting through its possible values.  You 
  746. can also go directly to an option by pressing the appropriate letter 
  747. or digit for that option (These are read to you when you step through 
  748. options with ENTER).  Pressing ESCAPE will take you out of the menu.  
  749. While you're in the menu, most other review-mode commands won't work.
  750.  
  751. OPTION 0: KEYBOARD ECHO
  752. Available values are words (default), letters, letters with no 
  753. interrupt, none and none with interrupt.  The difference between 
  754. "letters" and "letters no interrupt" is that in the former case, each 
  755. new letter typed flushes the speech buffer.  This may be annoying to 
  756. users with the Echo GP/PC, which squeaks obnoxiously when being 
  757. flushed.  "None with interrupt" doesn't echo your keys, but does shut 
  758. up the synthesizer each time you hit a key.  This is useful for things 
  759. like long menus where you want to shut up the synthesizer as soon as 
  760. you make a selection, even though you haven't heard the whole menu yet.
  761.  
  762. OPTION 1: VERBOSITY
  763. This controls how much Tinytalk speaks.  Available values are noisy 
  764. (everything spoken), quiet (immediate output not spoken) and silent 
  765. (nothing spoken unless in response to a hotkey or review command).
  766.  
  767. OPTION 2: PUNCTUATION
  768. This controls what punctuation, if any, gets pronounced when reading 
  769. text.  It does not affect keyboard echo.  Available values are all 
  770. (default), some, user and none.  If this is set to "user," Tinytalk 
  771. will pronounce only those punctuation characters that you specifically 
  772. select (see the P command below).
  773.  
  774. When you're in review mode, Tinytalk will pronounce all punctuation 
  775. characters regardless of the value of this setting.  Tinytalk will 
  776. also pronounce all punctuation if you're doing anything that reads a 
  777. character at a time (otherwise you'd get disconcerting "dead spots" as 
  778. you moved the cursor).
  779.  
  780. OPTION 3: AUTOMATIC POP-UP WINDOW DETECTION
  781. Available values are off (default), no repeat (window is read only 
  782. once unless it has lightbars), repeat (window will be re-read if the 
  783. text inside it changes) and beep on repeat (window is read the first 
  784. time it pops up or if it has lightbars; subsequent changes result in a 
  785. beep).  Enabling auto pop-up detection may slow your system down; this 
  786. should not be a problem except in some telecommunication programs 
  787. where the slowdown might cause incoming characters to be missed.
  788.  
  789. OPTION 4: FORMS MODE
  790. Available values are off, left and right.  Left is for applications 
  791. that put the cursor at the beginning of the field they move into (such 
  792. as Dbase); right is for applications that put the cursor at the end of 
  793. the field (such as Paradox).
  794.  
  795. OPTION 5: HORIZONTAL OUTPUT
  796. This option determines what Tinytalk will read when you move the 
  797. cursor horizontally.  Available values are lines, words, characters, 
  798. bars, none, "window lines," "Paradox columns" and columns.  "Bars" 
  799. means that Tinytalk will read the part of the line around the cursor 
  800. that has the same video attributes as the character under the cursor 
  801. (note that this won't always track lightbar menus, because many 
  802. programs don't actually move the cursor when drawing lightbars).  
  803. "Window lines" means that if the cursor is between vertical lines 
  804. drawn on the screen, only the text between those lines will be read.  
  805. "Paradox columns," intended for use with Borland's Paradox database, 
  806. means that Tinytalk will follow the lines up until it sees a column 
  807. title, read the title and then read the portion of the current line 
  808. between the lines.  "Columns" means that Tinytalk will read the part 
  809. of the line around the cursor, stopping on either side if it sees two 
  810. or more spaces.  You'd use this setting if, for example, you were in 
  811. WordPerfect and editing a document organized into columns.
  812.  
  813. If you select "window lines" or "columns" and you have a floating 
  814. window defined (see section 10), Tinytalk will read the portion of the 
  815. window above the text before reading the text.
  816.  
  817. Regardless of this setting, Tinytalk will read by character if a 
  818. horizontal move causes the cursor to move exactly one character to the 
  819. left or right.
  820.  
  821. OPTION 6: VERTICAL OUTPUT
  822. This option determines what Tinytalk will read when you move the 
  823. cursor vertically.  The choices are the same as for horizontal output.
  824.  
  825. OPTION 7: BLANKS
  826. This determines how Tinytalk reads blank lines when moving vertically 
  827. or reading portions of the screen (in review or via hotkeys).  
  828. Available values are off (default) and on.  If this option is turned 
  829. on, blank lines will be announced as "blank"; otherwise they will be 
  830. silent.
  831.  
  832. OPTION 8: PHONETICS
  833. Available values are off (default) and on.  If this option is turned 
  834. on, operations that read a character at a time will pronounce letters 
  835. phonetically ("able," "baker," etc.).
  836.  
  837. OPTION 9: TIMEOUT
  838. Determines how long Tinytalk will wait before forcing out the last 
  839. word or part of a word displayed.  Normally this is half a second, but 
  840. sometimes (like when chatting with someone in a terminal program) the 
  841. delay is too short and words get spelled out.  This option allows you 
  842. to change the delay; available values are half second (default), one 
  843. second and two seconds.
  844.  
  845. OPTION A: STABILITY TIME
  846. Determines how long Tinytalk will wait before deciding that a watch 
  847. window has stopped changing.  You can increase this from the default 
  848. if you find that Tinytalk is trying to read windows before the 
  849. application program has completely updated them.
  850.  
  851. OPTION B: SHUTUP TIME
  852. Determines how long Tinytalk will wait when using the timed shutup 
  853. command.  Available values are 5 seconds, 20 seconds, 60 seconds and 
  854. indefinite.  If you select "indefinite," immediate output will stay 
  855. off until you hit a key.
  856.  
  857. OPTION C: ACTION WHEN ENTER OR TAB IS PRESSED
  858. If this option is turned on, Tinytalk will treat the tab, shift-tab 
  859. and ENTER keys as vertical cursor movement keys.
  860.  
  861. OPTION D: KEYBOARD ECHO PUNCTUATION
  862. Determines what punctuation, if any, is pronounced when echoing 
  863. keystrokes.  The options are the same as for the reading punctuation 
  864. option.  Tinytalk maintains separate user-defined punctuation tables 
  865. for text reading and keyboard echo, so you can, for example, arrange 
  866. to have some punctuation symbols pronounced when you type them but not 
  867. when reading text.
  868.  
  869. OPTION E: CAPS IDENTIFICATION
  870. Setting this to "on" will cause Tinytalk to identify capitalization.  
  871. If a word begins with a capital, it will say "cap" before reading the 
  872. word.  If the word has more than one letter and all of them are 
  873. capitalized, it will say "all caps" and if the word has capitals in 
  874. the middle (as in some trademarks) it will say "mixed case."  This 
  875. option is off by default.
  876.  
  877. OPTION F: SPELL WORDS WITH DIGITS
  878. If this option is on, Tinytalk will spell out any word that contains 
  879. both letters and digits (such as ham radio callsigns).  It is on by 
  880. default.
  881.  
  882. OPTION G: WORD TERMINATOR
  883. This option controls how Tinytalk determines the end of a word when 
  884. you're moving the cursor word-by-word.  "Non-alpha" means that 
  885. anything other than a letter or digit character terminates a word; 
  886. "space" means that only spaces end words.  Different word processors 
  887. and text editors have different ideas about when a word ends; you 
  888. should set this option to match whatever your word processor does. For 
  889. example, WordPerfect treats a hyphenated word as a single word and 
  890. will move the cursor across the entire word, whereas VDE (a Wordstar- 
  891. compatible text editor) would treat it as two separate words.
  892.  
  893. There are a couple settings that aren't part of the menu.  You can set 
  894. user-defined reading punctuation by pressing P.  Initially, all the 
  895. punctuation characters are set to be pronounced.  Pressing a 
  896. punctuation key will turn that symbol off if it was on and on if it 
  897. was off.  Pressing ENTER takes you out of punctuation-setting mode.  
  898. For example, if you wanted to hear all the punctuation symbols except 
  899. the period, comma and semicolon you'd press P, period (you'd hear 
  900. "period off"), comma, semicolon and ENTER.  If you later decided you 
  901. wanted to hear the period, you'd press P, period (you'd hear "period 
  902. on") and ENTER.  Setting user-defined keyboard echo punctuation works 
  903. the same way, except that you press control-P rather than P.
  904.  
  905. You can set a right margin bell (useful for some on-line services 
  906. whose message editors don't have word wrap) by pressing W, typing a 
  907. column number, and pressing ENTER.  Anytime you cross the margin when 
  908. typing, a bell will ring.  You can turn the bell off by entering a 
  909. column number of zero.
  910.  
  911.                SECTION 11D: WINDOW DEFINITION COMMANDS
  912.  
  913. There are four or five steps involved in defining a window:
  914.  
  915. 1) Select the window.  You do this by holding down the alt key and 
  916. typing the window's number (alt-0 through alt-9).  When you do this, 
  917. Tinytalk will tell you the window's current dimensions and settings.  
  918. You are now in "window definition mode" which means that the ENTER key 
  919. behaves a bit differently than it otherwise would.
  920.  
  921. 2) Set the window's boundaries.  You do this by moving the cursor to 
  922. the top left corner, pressing ENTER, moving to the bottom right corner 
  923. and pressing ENTER again.  Once you have done this, you are out of 
  924. window definition mode and the ENTER key will behave normally again.
  925.  
  926. If all you're planning to do with the window is read it on command, 
  927. you can skip the next two steps.
  928.  
  929. 3) Tell Tinytalk when to read the window.  You can step through the 
  930. "WHEN" options by pressing F8.  If you choose "triggered" you will 
  931. also need to tell Tinytalk what window to trigger from.  Press alt-F8 
  932. and you will hear the prompt "triggered by."  Type the number of the 
  933. window you wish to trigger from and press ENTER.  If you choose 
  934. "search" you will need to specify what text to look for.  Press alt-F8 
  935. and you will be prompted "search for."  Type in the text that you want 
  936. to look for and press ENTER.  Tinytalk's matching process is case- 
  937. sensitive, so be sure that you use the same capitalization that the 
  938. application program uses when displaying the text.
  939.  
  940. 4) Tell Tinytalk what to read when the window activates.  You can step 
  941. through the "WHAT" options by pressing shift-F8.  If you choose the 
  942. "lightbar" option Tinytalk will try to automatically determine the 
  943. appropriate video attribute the first time the window activates.  If 
  944. instead you want to have a specific attribute read, you have two 
  945. options.  The first is to move the cursor to a character that's 
  946. displayed in the attribute you want and press control-F8.  Tinytalk 
  947. will say "bar" and read the attributes.  The second is to use the 
  948. press F9 (sets foreground color) and Shift-F9 (sets background color) 
  949. until you have the attributes you want.  Either option tells Tinytalk 
  950. to read only characters in that attribute when the window activates.  
  951. You may also need to do this if Tinytalk incorrectly identifies the 
  952. lightbar attribute (some lightbar windows can have text in four or 
  953. five different attributes).
  954.  
  955. If you choose the "switch" option, press control-F8 and you will be 
  956. prompted for the configuration to switch to.  You can enter a number, 
  957. a name, or repeatedly press the space bar until you hear the 
  958. appropriate configuration.  Press ENTER when you've got the right one.
  959.  
  960. 5) If you don't want the window to shut up the synthesizer when it 
  961. activates, press control-F9.  As described earlier, you may need to do 
  962. this if the window is usually going to activate right after another 
  963. one and you want to hear both of them, but there may be a short delay 
  964. between the activations.  Control-F9 is a toggle; pressing it again 
  965. will tell the window to shut up when it activates.
  966.  
  967. If you accidentally wind up in window definition mode, you can back 
  968. out by pressing the ESCAPE key.  F8 and shift-F8 also back you out of 
  969. window definition mode.  This means that if you just want to change a 
  970. window's setting without changing its boundaries, you can select it 
  971. with alt-0 through alt-9 and then use F8 or shift-F8.  The ENTER key 
  972. will then behave normally.
  973.  
  974. Pressing alt-C will reset all 10 windows to plain.
  975.  
  976.                     SECTION 11E: REMAPPING HOTKEYS
  977.  
  978. You can change the keystrokes for any of the hot keys discussed in 
  979. Section 6.  This is called "remapping" a hot key.  There are two ways 
  980. to remap a hotkey.  The first, "global remapping" changes the key in 
  981. every configuration.  The second, "local remapping" changes the key 
  982. only in a single configuration.  To remap a hot key, press R for 
  983. global remapping or Alt-R for local remapping.  Tinytalk will say 
  984. "remap key."  Enter the hot key you wish to change.  Tinytalk will say 
  985. "to."  Enter the key you want to use in place of the old hot key.
  986.  
  987. For example, let's say you don't like to use Alt-space to read the 
  988. current line and would rather use Control-L.  However, one of your 
  989. application programs uses Control-L for its own purposes, so you want 
  990. to use Alt-L instead when you're running it.  This means that you want 
  991. to globally remap Alt-space to Control-L, and then locally remap 
  992. Control-L to Alt-L in the configuration for that application.  To do 
  993. this, press R, Alt-space, and Control-L.  Then select the 
  994. configuration for the application and press Alt-R, Control-L and Alt-L.
  995.  
  996. If you pick the wrong key to remap, press ESCAPE when you're prompted 
  997. for the "to" key.  If Tinytalk says "conflict" when you enter the "to" 
  998. key, it means that that key is already in use as a hot key for 
  999. something else (in the above example, if you decided that you wanted 
  1000. to globally remap some other hot key to either control-L or Alt-L, 
  1001. you'd get a "conflict" message).
  1002.  
  1003. If you decide to use the Shift key in a remapped hotkey, remember that 
  1004. IBM-compatible computers consider the left and right shift keys to be 
  1005. two separate keys.
  1006.  
  1007.                      SECTION 11F: LABELLING KEYS
  1008.  
  1009. You can tell Tinytalk to read a "label" whenever you press a certain 
  1010. key.  For example, you could tell it to say "enter" every time you hit 
  1011. the ENTER key, or you could tell it to announce the Shift, Control and 
  1012. Alt keys whenever they're pressed.  As with hot key remapping, you can 
  1013. label keys either globally or locally.
  1014.  
  1015. To label a key, press D for global labelling or Alt-D for local 
  1016. labelling.  Tinytalk will say "label key."  Press the key you want to 
  1017. label.  Tinytalk will say "as."  Type in the word or phrase you want 
  1018. to hear and press ENTER.  To delete a key label, press D or Alt-D, 
  1019. press the key, and then press ENTER without typing anything at the 
  1020. "as" prompt.  Tinytalk will say "cancel."
  1021.  
  1022.                   SECTION 11G: CONFIGURATION SETTING
  1023.  
  1024. To pick a new configuration, press C.  This command works just like 
  1025. the Alt-right bracket hotkey.
  1026.  
  1027. When you pick a configuration, one of two things can happen.  Tinytalk 
  1028. keeps track of whether or not you've ever picked a configuration 
  1029. before.  If you pick it for the very first time (meaning that it 
  1030. doesn't yet contain any settings), Tinytalk will copy your current 
  1031. settings into it.  If you have used it before, Tinytalk will change 
  1032. your settings to the ones defined in the new configuration.
  1033.  
  1034. Once you've picked a configuration, any changes that you make to your 
  1035. settings or window definitions will be stored in that configuration.  
  1036. For example, if you pick configuration 1 and then define a window, 
  1037. that window definition will become part of configuration 1.  If you 
  1038. then pick configuration 2 and define another window, that window will 
  1039. become part of configuration 2.  If you then pick configuration 1, the 
  1040. second window will vanish and the first one will become defined.
  1041.  
  1042. You can give your current configuration a name by pressing N.  Names 
  1043. are used for two purposes: they let you hear the name when stepping 
  1044. through the configuration set with the C or Alt-right bracket 
  1045. commands, and they allow Tinytalk to automatically select a 
  1046. configuration when you run an application.  When you enter the N 
  1047. command, Tinytalk will read the name of the current configuration (or 
  1048. the number if no name has been set) and say "name."  Type in the name 
  1049. and press ENTER (pressing ENTER by itself will leave the name 
  1050. unchanged).
  1051.  
  1052. If you want Tinytalk to load a configuration automatically when you 
  1053. run an application, make sure that the name you select is the same as 
  1054. the program's name (without any command line arguments).  Don't 
  1055. include an extension (.COM or .EXE).  Configuration names shouldn't 
  1056. contain any spaces; if they do, you won't be able to load them by 
  1057. typing in the name.
  1058.  
  1059. NOTE: The auto-configuration feature works only when DOS loads an 
  1060. executable program.  Tinytalk has no way to detect when you run a 
  1061. batch file or an internal command like DIR.  Tinytalk will, however, 
  1062. detect a program invoked from within a batch file or from another 
  1063. program (such as a menu shell).
  1064.  
  1065.                  SECTION 11H: MISCELLANEOUS COMMANDS
  1066.  
  1067. You can find out the status of the caps lock, num lock, scroll lock 
  1068. and insert keys by pressing K.
  1069.  
  1070. You can leave review mode by pressing ENTER.  The cursor will be 
  1071. restored to where it was before you entered review mode.  If you want 
  1072. to move the application's cursor to where the review cursor is, press 
  1073. semicolon instead of ENTER.  Tinytalk will try to move the application 
  1074. cursor into place by sending "fake" cursor movement keys to the 
  1075. application.  This may not work with all applications.  For it to 
  1076. work, the application must use the BIOS to get keys, the cursor keys 
  1077. must move the cursor in the expected directions, and the review cursor 
  1078. must be in a place where the application can put it (most word 
  1079. processors won't let you move the cursor to a status line, for 
  1080. example).  Some database programs will move the cursor horizontally in 
  1081. response to vertical movement keys, and some editors will not let you 
  1082. put the cursor on the bottom line of text.  If Tinytalk can't get the 
  1083. cursor into position, it will say that the routing has failed. 
  1084. You can unload Tinytalk from memory by pressing Control-U.  Avoid 
  1085. doing this if you're not at the DOS prompt or if you've installed 
  1086. memory-resident programs after running Tinytalk, since you may wind up 
  1087. "un-installing" parts of these programs as well.
  1088.  
  1089.            SECTION 11I: A WINDOW AND CONFIGURATION EXAMPLE:
  1090.  
  1091. The most common question we get on the phone is "what's the best way to set 
  1092. up a configuration for WordPerfect?"  While there may not be any one "best" 
  1093. way, we'll walk through creating a set of configurations that lots of 
  1094. people have found useful.  The file SAMPLE.TTK contains these 
  1095. configurations.
  1096.  
  1097. Before we get started with WordPerfect, we'll want to create a 
  1098. configuration for ordinary, DOS-prompt stuff.  Go into review (by pressing 
  1099. Alt-Enter), press C to load a configuration, press 0 and hit enter.  Set 
  1100. your synthesizer parameters and other settings to your liking.  Press N to 
  1101. give the configuration a name, enter COMMAND and press enter.  Naming this 
  1102. configuration as COMMAND guarantees that if you shell out to DOS from 
  1103. within a program, this configuration will be loaded.
  1104.  
  1105. The first thing to realize is that WordPerfect uses the screen in 
  1106. different ways depending on what mode you're in, and you can't try to 
  1107. shoehorn all the different screens into a single configuration.  We'll 
  1108. be creating separate configurations for the various screens and tying 
  1109. them together with "search" and "switch" windows.  For now, we'll 
  1110. concentrate on the main editing screen and the spell-checker screen.
  1111.  
  1112. WordPerfect's main screen has 24 lines of text and a status line at 
  1113. the bottom, so we'll want to set up two windows.  As you'll see in a 
  1114. moment, a complication involving the status line means we'll actually 
  1115. need three.  The first step is to choose a configuration number (we'll 
  1116. pick number one).  We enter C, hear "load config," press 1 and hit ENTER.  
  1117. We'll want to give this configuration the name "WP" since it's the one 
  1118. you'll want to have auto-loaded when you first come into WordPerfect.  
  1119. Press N and you'll hear "1 name."  The "1" is spoken because you haven't 
  1120. named the configuration yet.  Type "wp" and press ENTER.
  1121.  
  1122. We want to make our first window (window 1) cover the first 24 lines 
  1123. of the screen.  This means that the top left corner should be at line 
  1124. 1, column 1 and the bottom right corner should be at line 24, column 
  1125. 80.  Press Alt-1 to select window 1.  Tinytalk will say "window 1" and 
  1126. read you the current settings for the window, which will probably be 
  1127. irrelevant.  Remember that you're now in window-setting mode and that 
  1128. the ENTER key will be used to mark corners.  Our first task is to get 
  1129. the cursor to the top left corner.  The quickest way to do this is to 
  1130. press the PgUp key, since that moves the cursor to line 1, column 1.  
  1131. Next we press ENTER to mark the top left corner; Tinytalk will say 
  1132. "top left" to confirm.  Now we need to get the cursor to line 24, 
  1133. column 80.  Press L and Tinytalk will ask you "line."  Enter 24 and 
  1134. press ENTER.  Tinytalk will move the cursor to line 24, column 1 and 
  1135. read the line.  Note that pressing ENTER didn't mark the corner yet 
  1136. because it was part of your response to the L command.  The quickest 
  1137. way to get over to column 80 is to press the END key.  Now press ENTER 
  1138. and Tinytalk will say "bottom right."
  1139.  
  1140. Since WordPerfect writes directly to the screen, we want to 
  1141. automatically monitor this window so that we'll hear it when it 
  1142. changes.  We do this by setting its "when" type to "watch."  
  1143. Repeatedly press F8 until you hear "watch."  You'll also need to set 
  1144. the "what" type to "scroll" since you won't want to hear the entire 
  1145. window repeated just because the text moved up or down a line.  Press 
  1146. Shift-F8 until you hear "scroll."
  1147.  
  1148. Now comes the tricky part.  WordPerfect uses the bottom line of the 
  1149. screen for two different purposes.  When you're typing and editing, it 
  1150. has status indicators like row and column counts that change whenever 
  1151. you type a character.  When you call up menus or press command keys, 
  1152. however, it displays messages and prompts.  You'll want to hear the 
  1153. prompts, but you won't want to hear all the status indicators you 
  1154. every time you type a character.
  1155.  
  1156. It turns out that all the interesting messages start in the left half 
  1157. of the line.  When there's no message, the left half is blank and all 
  1158. the status indicators are at the right end.  To take advantage of 
  1159. this, we'll set up two windows.  Window 2 will activate when the left 
  1160. half of line 25 changes, but won't say anything.  Window 3 will be 
  1161. triggered by window 2 and will read the entire line.  The net effect 
  1162. will be that you'll hear the entire bottom line if the left half 
  1163. changes, but not if the only changes are in the right half.
  1164.  
  1165. Press Alt-2 to select window 2.  Press L 25 ENTER to put the cursor on 
  1166. line 25, column 1 and press ENTER to mark the top left corner.  Press 
  1167. H 40 ENTER to move the cursor to column 40 and press ENTER again to 
  1168. mark the bottom right corner.  Now press F8 until you hear "watch," 
  1169. and press Shift-F8 until you hear "none," since you don't want the 
  1170. half-line to be read to you.
  1171.  
  1172. Now press Alt-3, put the cursor on line 25, column 1 (if you haven't 
  1173. moved the cursor after setting up the second window, you can press 
  1174. HOME) and press ENTER to mark it.  Then press END to put the cursor on 
  1175. column 80 and press ENTER.  Now press F8 until you hear "triggered" 
  1176. and then press Alt-F8, at which point Tinytalk will prompt you with 
  1177. "triggered by."  Type 2 and press ENTER.  You don't need to do 
  1178. anything with Shift-F8 this time because the default "what" setting is 
  1179. "all" which is exactly what you want to hear.
  1180.  
  1181. That wraps it up for the main editing screen.  The spell-checking 
  1182. screen is organized as follows: the first 11 lines show the text 
  1183. around the word in question, with the word itself displayed in a 
  1184. different color from the rest of the text.  Line 12 has position 
  1185. indicators.  Lines 15 to 24 show a list of suggested spelling for the 
  1186. word, and line 25 presents various menus and prompts.  As you can see, 
  1187. this is a completely different layout from the editing screen, and 
  1188. trying to make one set of windows work well with both screens would be 
  1189. impossible.
  1190.  
  1191. When you come into the spell-checking screen, line 25 begins with 
  1192. "Check."  To detect this, we'll set up window 4 in our edit-screen 
  1193. configuration as a search window to look for this.  We'll make its 
  1194. action be to switch us to configuration 2, which we'll set up for the 
  1195. spell checker.  Press Alt-4, put the cursor on line 25, column 1 (with 
  1196. HOME if you haven't moved the cursor since setting up the previous 
  1197. window) and press ENTER.  Now move the cursor to column 5 (by pressing 
  1198. the right-arrow key 4 times) and press ENTER again.  Press F8 until 
  1199. you hear "search" and then press Alt-F8.  You'll be prompted "search 
  1200. for."  Type "Check" (make sure the first character is capitalized and 
  1201. the rest are in lower case, since search windows require an exact 
  1202. match and that's the way WordPerfect displays it.  Now press Shift-F8 
  1203. until you hear "switch" and press Control-F8.  You'll be prompted 
  1204. "switch to"; type "2" and press ENTER.
  1205.  
  1206. Press C, 2, ENTER to get into configuration 2.  We'll set up the first 
  1207. 11 lines of the screen as an automatically monitored spell lightbar 
  1208. window so that you'll hear the questionable word spelled out.  Press 
  1209. Alt-1 to select window 1, PgUp to go to line 1, column 1, ENTER to 
  1210. mark the top left corner, L 11 ENTER END to go to line 11, column 80, 
  1211. and ENTER to mark the bottom left corner.  Press F8 until you hear 
  1212. "watch" and Shift-F8 until you hear "spell lightbar."
  1213.  
  1214. We'll set up lines 15 through 24 (the suggested words) as a regular 
  1215. watch window so you'll hear all of them listed.  Press Alt-2, L 15 
  1216. ENTER ENTER L 24 ENTER END ENTER to size the window; press F8 until you 
  1217. hear "watch."  You don't need to use Shift-F8 because the default setting 
  1218. is "all."  You do, however, need to press Control-F9, at which point you'll 
  1219. hear "no shutup."  The reason for this is that WordPerfect has the somewhat 
  1220. annoying habit of pausing for a few seconds while it searches for spelling 
  1221. suggestions.  This means that window 2 will often activate after window 1 
  1222. does, and you don't want that activation to shut up the synthesizer while 
  1223. it's reading the misspelled word.
  1224.  
  1225. We'll set up the bottom line as a watch window.  Press Alt-3, L 25 ENTER 
  1226. ENTER END ENTER and press F8 until you hear "watch."  Now all we need is a 
  1227. way to get back to configuration 1 when spell-checking is done and the 
  1228. editing screen comes back.  We'll do this by looking for the word "Pos" in 
  1229. column 70 of line 25.  Press Alt-4, L 25 ENTER H 70 ENTER ENTER, move the 
  1230. cursor two characters to the right, press ENTER again, press F8 until you 
  1231. hear "search," press Alt-F8 and type "Pos" (first character capitalized) 
  1232. and press ENTER, press Shift-F8 until you hear "switch," press Control-F8, 
  1233. type "1" and hit ENTER.
  1234.  
  1235.         SECTION 12: SAVING AND LOADING CONFIGURATION LIBRARIES
  1236.  
  1237. As you know, Tinytalk can hold up to 30 configurations in memory.  The 
  1238. TTCONF program lets you save these configurations to disk for later 
  1239. use and recall them when you need them.  There are two ways to do 
  1240. this.  The first is to save your configurations in a configuration 
  1241. library file, and load the library the next time you use Tinytalk.  
  1242. The second is to "clone" a copy of Tinytalk; this creates a customized 
  1243. executable copy of Tinytalk with the configurations "burned in."  
  1244. Since Tinytalk is so small, you can keep multiple copies configured 
  1245. for various applications.
  1246.  
  1247. TTCONF is a separate program; you have to be at the DOS prompt to use 
  1248. it.  To save your current configurations to a library file, type 
  1249. "ttconf save" followed by a file name (if no extension is given, it 
  1250. will default to ".TTK").  For example, if you wanted to save your 
  1251. configurations in a library file called MYPROGS.TTK, you'd type 
  1252. "ttconf save myprogs."
  1253.  
  1254. To load a configuration library from disk, type "ttconf load" followed 
  1255. by the file name.  For example, you could recall the configurations 
  1256. you saved before by typing "ttconf load myprogs."  You can tell TTCONF 
  1257. to select a configuration within the library (if you don't, Tinytalk 
  1258. will switch to whatever configuration was active when the library was 
  1259. saved).  You do this by putting the name or number of the 
  1260. configuration after the library file name.  For example "ttconf load 
  1261. myprogs 5" would bring in the MYPROGS library and switch to 
  1262. configuration 5.
  1263.  
  1264. Keep in mind the difference between a configuration and a 
  1265. configuration library.  A configuration is the settings you use for a 
  1266. particular application.  A configuration library is a disk file that 
  1267. holds thirty configurations.  For example, you could set up 
  1268. configuration 1 for Word Perfect's main mode, configuration 2 for the 
  1269. Word Perfect spell checker, configuration 3 for Lotus, and so on.  You 
  1270. would then store all these configurations in a single configuration 
  1271. library (such as MYPROGS.TTK).  Whenever you loaded that file, you 
  1272. would get all three configurations in memory.  You don't need to have 
  1273. a separate configuration library for each application; this is in 
  1274. contrast to some other screen readers where there's a configuration 
  1275. file on disk for each configuration.  By holding multiple 
  1276. configurations in memory, Tinytalk avoids having to make disk accesses 
  1277. while running, which greatly simplifies many of its internal details 
  1278. (for example, it never has to worry about DOS not being "ready").
  1279.  
  1280. To make a custom copy of Tinytalk, type "ttconf clone" followed by a 
  1281. filename with no extension (".exe" will be automatically added to the 
  1282. end).  For example, if you wanted to create a version of Tinytalk 
  1283. called MYTALK, you'd type "ttconf clone mytalk."  From then on, you 
  1284. could run MYTALK rather than TTALK and you'd come up with the 
  1285. configurations you wanted.
  1286.  
  1287. If you use the "clone" option you will also customize your copy for 
  1288. the port you selected.  This feature is not available with the "load" 
  1289. or "save" options, as it makes no sense to switch ports while Tinytalk 
  1290. is already running.
  1291.  
  1292. If you plan to clone Tinytalk, don't use a compression utility like 
  1293. LZEXE or PKLITE on TTALK.EXE.  The cloning process requires TTALK.EXE 
  1294. to be 1) really named TTALK.EXE (that's why you renamed your 
  1295. synthesizer-specific file) 2) available in uncompressed form and 3) 
  1296. findable on the DOS path.
  1297.  
  1298. You can set an environment variable called TTALK to tell TTCONF where 
  1299. to look for configuration libraries.  For example, if you wanted to 
  1300. keep all your configuration libraries in a directory called C:\CONFIG, 
  1301. you could put the line SET TTALK=C:\TTALK\ in your AUTOEXEC.BAT file.  
  1302. This will make TTCONF look in that directory if you don't include a 
  1303. directory name in the file name.
  1304.  
  1305. If you run Tinytalk or a clone while Tinytalk is already in memory, 
  1306. the configuration information will be copied over to the version 
  1307. running in memory.  You won't wind up with two copies in memory 
  1308. (running a clone with a different port selected won't change your port 
  1309. assignment).
  1310.  
  1311. If you load a configuration library that was created for a different 
  1312. synthesizer than the one you're using, your synthesizer settings will 
  1313. not change.  All other configuration parameters will change as usual.
  1314.  
  1315. VIEWING CONFIGURATIONS
  1316.  
  1317. TTCONF can also tell you how a configuration is set up.  Typing "ttconf 
  1318. view" will give you a summary of how all your configurations, hotkey settings 
  1319. and key labels are set up in memory.  If you want to know how the 
  1320. configurations in a library file are set up, type "ttconf view" followed by 
  1321. the library file name, for example "ttconf view myprogs."  You can tell 
  1322. TTCONF to show only the settings for a single configuration by following 
  1323. the command with a number sign followed (no space) by the name or number of 
  1324. the configuration you're interested in, for example "ttconf view #wp" or 
  1325. "ttconf view myprogs #wp."
  1326.  
  1327. TTCONF uses DOS output, so you can redirect the display to a file or 
  1328. printer if you want to, using the standard DOS ">filename" convention.  It 
  1329. will omit the "more" prompts between configurations if you redirect the 
  1330. output.
  1331.  
  1332. If you're viewing all your configurations, TTCONF will also tell you your 
  1333. port number and your current configuration.  If you're using a synthesizer 
  1334. like the Doubletalk that doesn't use a serial or parallel port, the port 
  1335. number listed will be meaningless; it does not mean that the port is 
  1336. actually tied up.
  1337.  
  1338. CONVERTING CONFIGURATIONS
  1339.  
  1340. When we add new features to Tinytalk, we sometimes have to change the 
  1341. internal format of configuration files.  Unlike some screen-reader 
  1342. manufacturers who will go unnamed here, we don't believe that re-entering 
  1343. all your configurations when the file format changes is a productive use of 
  1344. your time.  Therefore, we supply a program called CVTCONF to registered 
  1345. users (if you've been using Tinytalk long enough to have created a bunch of 
  1346. configurations and to have crossed a version boundary, you've been using it 
  1347. long enough that you should register!).  CVTCONF will take a configuration 
  1348. library created under a previous version and convert it to the format 
  1349. required by the new version.  The version history in the READ.ME file will 
  1350. tell you whether or not a new version requires conversion.
  1351.  
  1352. To convert a library file, type "cvtconf" followed by the file name, for 
  1353. example, "cvtconf myprogs."  Tinytalk has to be running for CVTCONF to work 
  1354. because it needs to be able to find out some things like what synthesizer 
  1355. you're using. 
  1356.  
  1357.                 SECTION 13: KNOWN BUGS AND LIMITATIONS
  1358.  
  1359. 1) The backspace key may not echo correctly when you back up over a 
  1360. line boundary (it will echo whatever character was in column 80 of the 
  1361. previous line; this may not be the character that the application 
  1362. deletes).
  1363.  
  1364. 2) Tinytalk assumes that you're using an 80x25 screen; 40-column 
  1365. screens and 43 or 50-line screens aren't presently supported.
  1366.  
  1367. 3) Removing Tinytalk from memory occasionally locks the system up.
  1368.  
  1369.                    SECTION 14: CONTACT INFORMATION
  1370.  
  1371. We can be reached at:
  1372.  
  1373. OMS Development
  1374. 1921 Highland Ave.
  1375. Wilmette, IL  60091
  1376. (708)251-5787
  1377.  
  1378. For information on becoming a registered user of Tinytalk Personal, 
  1379. please see the accompanying file ORDER.DOC.
  1380.  
  1381. We invite your comments and suggestions concerning Tinytalk Personal 
  1382. regardless of whether or not you're a registered user (though we 
  1383. usually can't return long-distance calls from unregistered users 
  1384. unless you're reporting a bug).  I can also be reached at the COPH-2 
  1385. BBS ((312)436-0559, Fidonet 1:115/778, 300/1200/2400 baud, 24 hours) 
  1386. (as of the date of this release, the COPH-2 BBS was temporarily down 
  1387. due to hardware problems) and on Genie at E.Bohlman.  The current 
  1388. shareware version can always be found on the Runway BBS at 215-623- 
  1389. 6203 (conference 77).
  1390.  
  1391.                   SECTION 15: ABOUT OMS DEVELOPMENT
  1392.  
  1393. OMS Development has provided custom programming and hardware design, 
  1394. computer consultation and training, system installation and maintenance and 
  1395. similar services for over 12 years.  Our work has included development of 
  1396. Turbo Pascal database programs for the food brokerage industry, design of 
  1397. control software for a sophisticated multi-link intercom system, LAN 
  1398. maintenance and custom in-house programming for a large collection agency, 
  1399. development of optometric instruments used in sports vision training and 
  1400. statistical analysis of employee attitude surveys.  Contact us at (708)251- 
  1401. 5787 for answers to all your systems needs.
  1402.  
  1403. Other shareware products from OMS Development include Search, a 
  1404. flexible and fast free-form text retrieval system and Keycache, a TSR 
  1405. word expander that greatly speeds up typing for users who have 
  1406. difficulty using a keyboard.  We also are dealers for the Doubletalk 
  1407. PC speech synthesizer from RC Systems.
  1408.  
  1409. Eric Bohlman
  1410. May 18, 1992
  1411.